/**
 * 代理模式 是一种为对象提供一种代理，这个代理来控制对这个对象的访问
 * 有一个很好理解的例子，就是中介。
 *  一般而言，我们要买房，一般找到中介。
 *  这里有几个角色：
 *  1）抽象主题类 subject ，对应卖房者的抽象
 *  2）具体主题类 realSubject ,对应具体的卖房者，比如老王
 *  3）代理类 proxy，对应中介，比如小刘，他就持有了对老王的引用
 *  4）客户，client，也就是要买房的你了
 *
 *  注意我们不是一定要限制被代理人的对象的访问的控制，
 *  我们依然有可能直接找到被代理人的实例，并且直接使用其功能。
 *  但举个例子，你要买房，你直接找到老王，但中间的交易流程、以及交易的安全性，谁来保障？
 *
 *  而通过代理，你可以增强这个老王的"卖房"的行为，增强这个功能，使之安全、省心。
 *
 *
 *  其中static包，对应了静态代理
 *
 */
package structure.proxy;